package com.evl.vehicleSchedule.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.evl.common.persistence.model.ScheduleStation;
import com.evl.common.persistence.model.StationSeatR;
import com.evl.common.persistence.model.TicketRemainder;
import com.evl.common.persistence.model.TrainSeatSchedule;
import com.evl.common.persistence.model.VehicleSchedule;
import com.evl.vehicleSchedule.vo.ScheduleVo;

/**
 * <p>
  * 调度车辆表 Mapper 接口
 * </p>
 *
 * @author yangliwei
 * @since 2017-06-16
 */
public interface VehicleScheduleDao extends BaseMapper<VehicleSchedule> {

	List<Map<String, Object>> selectVehicleSchedules(@Param("vehicleNo")String para);

	ScheduleVo selectDetailById(@Param("vehicleScheduleId")Integer vehicleScheduleId);

	List<ScheduleStation> selectScheduleStationList(@Param("vehicleScheduleId")Integer vehicleScheduleId);

	List<TrainSeatSchedule> selectSeatScheduleList(@Param("vehicleScheduleId")Integer vehicleScheduleId);


	void saveSchedule(VehicleSchedule vs);

	void saveScheduleStation(ScheduleStation scheduleStation);

	void saveTrainSeatSchedule(TrainSeatSchedule trainSeatSchedule);

	void saveStationSeatR(StationSeatR stationSeatR);

	void saveTicketRemainder(TicketRemainder ticketRemainder);
	
	
	void batchSaveSchedules(@Param("list")List<VehicleSchedule> list);

	void batchSaveScheduleStations(@Param("list")List<ScheduleStation> scheduleStationList);

	void batchSaveTrainSeatSchedules(@Param("list")List<TrainSeatSchedule> trainSeatScheduleList);

	void batchSaveStationSeatRs(@Param("list")List<StationSeatR> stationSeatRList);

	void batchSaveTicketRemainders(@Param("list")List<TicketRemainder> ticketRemainderList);

	void deleteVehicles(String string, String string2);

	VehicleSchedule getLastVehicleSchedule();

	VehicleSchedule getVehicleScheduleByTime(@Param("vehicleNo") String vehicleNo, @Param("departTime") String departTime);

}